[Genuino 101][Johnny-Five] シフトレジスタの制御
車輪開発大好きおたいがです。こんにちは。( 挨拶 )
今回は Genuino 101 ( 以下 Genuino ) と Johnny-Five を使用したシフトレジスタの制御についてまとめてみました。Johnny-Five には、シフトレジスタをコントロールする ShiftRegister API が用意されています。
動作環境・道具など
- Genuino 101
- USB ケーブル
- ブレッドボード
- ジャンパーワイヤ
- 8 ビット シフトレジスタ SN74HC595N
- Windows 7 Pro (64bit)
- Arduino IDE 1.6.9 ( セットアップ記事を参考にしてください )
- Node.js v4.4.7
回路図
IC のデータシートに記載されている SER, SRCLK, RCLK をそれぞれ Genuino のデジタル 2, 3, 4 ピンへ。出力 ( QA, QB, QC ~ QH ) にそれぞれ LED と抵抗を配置します。
サンプルスケッチ ( プログラム ) をボードに書き込む
Genuino に StandardFirmata スケッチを書き込みます。
( 参照 : https://dev.classmethod.jp/hardware/johnny-five-genuino-101-debut/#toc--- )
Johnny-Five 実行用のサンプルプロジェクト作成および実行
Johnny-Five の導入および実行するためのプロジェクトを用意します。任意のプロジェクトディレクトリを作成して移動したあとに、下記コマンドを入力します。
package.json の初期化
$npm init
Johnny-Five のダウンロード
$npm install johnny-five
サンプルコードの作成
var five = require('johnny-five'); // Genuino が接続されているポート番号 ( `/dev/tty*` (Mac/Linux) or `COM*` (Windows) ) var board = new five.Board({ 'port': 'COM8' }); board.on('ready', function() { var register = new five.ShiftRegister({ 'pins' : { 'data' : 2, 'clock' : 3, 'latch' : 4 } }); var number = 0; this.loop(100, function() { register.send(number++); if (number > 256) { number = 0; } }); });
実行
$node index
結果
ShiftRegister.send() メソッドで送った数字を 8 ビット表示させることができました。